<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>留言板</title>
    <style>
        .container {
            width: 350px;
            height: 300px;
            margin: 0 auto;
            /* border: 1px black solid; */
            text-align: center;
        }

        .grey {
            color: grey;
        }

        .container .row {
            width: 350px;
            height: 40px;

            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .container .row input {
            width: 260px;
            height: 30px;
        }

        #submit {
            width: 350px;
            height: 40px;
            background-color: orange;
            color: white;
            border: none;
            margin: 10px;
            border-radius: 5px;
            font-size: 20px;
        }
    </style>
</head>

<body>
<div class="container">
    <h1>留言板</h1>
    <p class="grey">输入后点击提交, 会将信息显示下方空白处</p>
    <div class="row">
        <span>谁:</span> <input type="text" name="" id="from">
    </div>
    <div class="row">
        <span>对谁:</span> <input type="text" name="" id="to">
    </div>
    <div class="row">
        <span>说什么:</span> <input type="text" name="" id="say">
    </div>
    <input type="button" value="提交" id="submit" onclick="submit()">
    <!-- <div>A 对 B 说: hello</div> -->
</div>

<script src="js/jquery-3.5.1.min.js"></script>
<script>
    function submit(){
        // 1.获取留言板的内容
        let from = $("#from").val();
        let to = $("#to").val();
        let message = $("#say").val();

        $.ajax({
            type:"post",
            url:"/message/publish",
            // 这里必须写清楚是json格式，不然会使用其他格式传，就会出错，请求失败
            contentType:"application/json",
            // 这个方法是对象转成json字符串
            data:JSON.stringify(
                {
                    "from":from,
                    "to":to,
                    "message":message
                }
            ),
            success:function(result){
                // 如果后端没有写 application/json 那么说明传的是字符串
                // 那么就可以使用stringify这个方法，就字符串转为json 进行判断
                // result = JSON.stringify(result)

                // 此时这个result对象是一个json字符串（由后端返回的）
                if(result.ok == 1){
                    // 2.构造节点
                    let information = "<div>" + from + "对" + to + "说：" + message + "</div>";
                    // 3. 添加到页面
                    $(".container").append(information);

                // 4.清空框中的值
                    $("#from").val("");
                    $("#to").val("");
                    $("#say").val("");
                }else{
                    alert("留言发送失败");
                }
            }
        });
    }

    $.ajax({
        type:"get",
        url:"/message/getList",
        success:function(messages){
            if(messages != null && messages.length > 0){
                let finalHtml = "";
                for(let m of messages){
                    finalHtml += "<div>" + m.from + "对" + m.to + "说：" + m.message + "</div>";
                }
                $(".container").append(finalHtml);
            }
        }
    });
    

    
</script>
</body>

</html>